Field of the Invention
The invention relates to a method for controlling information exchange between at least one central computer and a subscriber via a control system. Following a request from the subscriber, the control system receives the data relevant to the subscriber from the central computer in a first control phase, prepares and transmits the data to the subscriber, and in a second control phase also processes information consequently received from the subscriber and transmits it to the central computer.
Nowadays exchanging information between computers no longer presents a problem, provided that the exchange is performed using a set of fixed rules. A set of rules of this type is also referred to as a xe2x80x9cprotocolxe2x80x9d. An example of such a protocol is the xe2x80x9cInternet Protocolxe2x80x9d. However, a protocol such as this does not suffice if information is to be exchanged not between two computers, but between a user and a computer. The information must be presented to the user in such a way that it can be entered and also amended if necessary. In the prior art the so-called xe2x80x9cclient/server modelxe2x80x9d is used for this purpose. With this method a computer, the xe2x80x9cserverxe2x80x9d, makes functions available that a user at a different computer, the xe2x80x9cclientxe2x80x9d, can use.
The exchange of information with a database managed by a central computer may serve as an example of the application of such a method. If the user requires information from the database, a connection is established between the two computers, so that the information can be transported to the user""s computer. The client must present the information to the user in such a way that the user can work with it. If necessary, information amended by the user must be transmitted back to the central computer again. The method assumes that compatible versions of the relevant programs are available on both computers. If the user wishes to access several databases, a separate program that prepares the information is required on the user""s computer for each database.
This requirement can be satisfied if the central computer or central computers determine the presentation of the information and use the same method for it. One instruction set suitable for this purpose is HTML (Hyper Text Markup Language). The instruction set is a defined group of instructions that determine the appearance of screen pages. Using the instruction set, the central computer describes how the information is to appear to the user and transmits the instructions to the computer at which the user is working. A program on the computer must ensure the correct conversion of the instructions. If all central computers use the same instructions for presenting their information, the user also requires only one program to be able to exchange information with all central computers or databases.
The known solution has the following disadvantage: the central computer must perform two additional tasks when preparing the data and evaluating the inputs made by the user, for which the programs that run on the computer must be extended. Moreover, it has to make resources, such as computing capacity and memory space for example, available to process the tasks. This can be avoided if the user no longer establishes the connection directly to the central computer, but rather to a control system located between the user and the central computer. The control system controls the information exchange between the user and the central computer and performs the task of preparing the information.
The control system must therefore be able to communicate both with the user and with the central computer. In addition to the preparation of the information to be sent to the user, communication with the user necessitates the evaluation of information coming from the user. There must however be a way of describing the flow of such an information exchange that includes the above-mentioned aspects. It must be possible to program the control system with the aid of this description.
A method known as xe2x80x9cserver side scriptingxe2x80x9d is used for programming the control system. The method is characterized by the fact that, in a program with which the structure by the face a screen page is described, it is possible to define program sections which are executed by the control system before the page is transmitted to the user. Using the instructions, the program sections containing it is possible, for example, to send information to the central computer or for the latter to request information. Information sent to the central computer originates from inputs the user made in previously processed screen pages. The information requested by the central computer can be prepared in the new page to be displayed. The program for screen generation ends with the transmission of the page to the user.
The problem of the known method is that the instructions the control system executes are always processed before the screen page is sent to the user. The inputs of the user, however, only arrive at the control system at a time when the program that built the page has already terminated. With the prior art, therefore, the processing of user inputs in the control system must be handled by another program. The building of a screen page takes place in a first control phase, and the processing of the inputs from the user in a second control phase. With the method, the control system requires a separate program for each control phase. Accordingly, in the prior art it is necessary to provide and maintain a plurality of programs and load and start them at different times. This requires an increased outlay, in particular also a high outlay for program development and program maintenance.
It is accordingly an object of the invention to provide a method for controlling information exchange via the Internet that overcomes the above-mentioned disadvantages of the prior art methods of this general type, in which no additional programs are required for processing information.
With the foregoing and other objects in view there is provided, in accordance with the invention, an improved method for controlling an information exchange between at least one central computer and a subscriber via a control system, the improvement which includes: transmitting data relevant to the subscriber from the at least one central computer to the control system during a first control phase following a request from the subscriber; preparing and transmitting the data to the subscriber from the control system; and processing, during a second control phase, information subsequently received from the subscriber in the control system, and transmitting the information from the control system to the at least one central computer, the first control phase and the second control phase defined by a single control program.
With the method according to the invention, both the first control phase and the second control phase are defined by a single control program for the control system. In the first control phase, following a request from a subscriber, for example a user at a terminal, the control system receives the data relevant to the subscriber from the computer, for example from a central computer, prepares the data and transmits it to the subscriber. In the second control phase, the control system processes the information received from the subscriber and transmits it to the central computer. Execution of the control program is halted for the time the subscriber requires to process the information sent to him.
As a result of the invention, once it has detected the request from the subscriber, the control system can select the associated control program required to process the request. This consequently dispenses with, for example, subsequent accesses to the storage medium on which all control programs are located. In the case of the invention, the control program selected in each case is relatively large, since the commands for generating the second control phase, which hitherto had to be held in an additional program, are now included in the control program itself. The invention is based however on the finding that loading a longer program is more favorable than loading an additional program. Before the additional program(s) is (are) loaded, it is namely first of all necessary to determine the address at which the additional program has been stored on the storage medium. Moreover, the management and maintenance of such additional programs entail a high outlay.
The information exchange performed in the context of the invention serves as the starting point for the development of complex dialogs between the subscriber and the computer. Such a dialog may be thought of as a concatenation of a number of processes to exchange information such as was described above. Each individual exchange process is processed fully by one control program. This does not preclude a control program using information obtained from one of the previous control programs. The invention facilitates a development of dialogs between a subscriber and a computer in as much as the information flow between the individual control programs is reduced. A control program only needs to accept the information it requires for processing its information exchange. It may therefore be sensible to extend the method according to the invention so that more than two control phases can be generated by a control program.
A preferred further development of the method enables information to be transmitted to the computer in the first control phase.
Another preferred further development of the method enables the control system to receive information from the computer in the second control phase as well. The information may be information required for processing the user inputs.
It is advantageous to extend the control system in such a way that it can read control programs from the memory that contain the control programs without executing them. The method according to the invention can consequently be used to display existing control programs.
It is furthermore sensible to extend the control system in such a way that it can write data into the memory containing the control programs. The method described can consequently also be used to maintain existing control programs and to create new control programs. The further development additionally enables methods for automatic generation of control programs to be used. Using such methods it is possible to create control programs that function in accordance with the method according to the invention for already existing dialog systems.
The use of symbols by which the sections in the control program to be executed in the first or second control phase respectively are especially marked is suitable for the application of the method. In this case, different symbols should be allocated to the two control phases. For example, the symbol xe2x80x9cwtOnCreateScriptxe2x80x9d could be used to mark the section containing commands for the first control phase, and the symbol xe2x80x9cwtOnReceiveScriptxe2x80x9d could be used for the section with commands for the second control phase. These two symbols are used in the instruction set of the known xe2x80x9cWebTransaction Markup Languagexe2x80x9d language.
For marking the end of such a section, four possible embodiments are described below: in a first embodiment, one of the symbols just described instructs the control system to execute only the command immediately following the symbol in the respective control phase. In this way, such a symbol would apply to one command only in each case.
In a second embodiment, the same symbol that marks the beginning of the section is used to close the section. In a third embodiment, a further symbol is defined with which the last section started is closed.
In a fourth embodiment, a separate symbol with which the section is closed is defined for each symbol with which a section is started. Two further symbols must then be defined.
All four embodiments mentioned allow a plurality of sections to be defined in the control program with commands to be executed in a control phase.
In a further development of the second and fourth embodiments, it is permissible for a section with commands for the one control phase also to contain, wholly or in part, a section with commands for the other control phase.
As a further development of the second and fourth embodiments, it is additionally possible for the commands belonging to the subsection set of the two sections also to be executed in both control phases.
In a further development of the third embodiment, it is permissible for a section with commands for the one control phase also to contain a section with commands for the other control phase.
It may furthermore be advantageous also to swap out program sections into separate files in the memory containing the control programs. It is then possible to reference the program sections in the control program. The control system must also take account of the swapped-out program section when loading the control program. Proceeding in this way reduces the storage space required in the memory containing all the control programs and facilitates maintenance of the control programs.
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a method for controlling information exchange via the Internet, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.